const Marks = [
  {
    项目: '【一阶】人力',
    项目权重: '30%',
    序号: '1',
    细则: '运营类人才',
    细则权重: '4%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '2',
    细则: '成交类人才',
    细则权重: '10%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '3',
    细则: '流量类人才',
    细则权重: '5%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '4',
    细则: '交付类人才',
    细则权重: '7%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '5',
    细则: '汇报线的管理力与团队力',
    细则权重: '4%',
  },
  {
    项目: '【一阶】客户运营',
    项目权重: '35%',
    序号: '6',
    细则: '离院运营机制、执行、成果',
    细则权重: '4%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '7',
    细则: '到院运营一人一案：机制、执行、成果',
    细则权重: '6%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '8',
    细则: '到院运营标准化：机制、执行、成果',
    细则权重: '4%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '9',
    细则: '体系实施：顾客五类标签的完善，对动作指导性',
    细则权重: '2%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '10',
    细则: '体系实施：私域功能与私域活动实施',
    细则权重: '7%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '11',
    细则: '体系实施：商学院的参与与《咨询单/服务单》实战',
    细则权重: '8%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '12',
    细则: '体系实施：时间线与院内复盘',
    细则权重: '4%',
  },
  {
    项目: '【二阶】产品',
    项目权重: '10%',
    序号: '13',
    细则: '产品结构合理性（从三类产品角度看）',
    细则权重: '2%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '14',
    细则: '产品结构合理性（从客群适配性角度看)',
    细则权重: '4%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '15',
    细则: '产品力（从交付能力和效果看）',
    细则权重: '4%',
  },
  {
    项目: '【二阶】制度',
    项目权重: '10%',
    序号: '16',
    细则: '制度建设、执行、闭环',
    细则权重: '10%',
  },
  {
    项目: '【三阶】成本',
    项目权重: '2%',
    序号: '17',
    细则: '成本控制力',
    细则权重: '2%',
  },
  {
    项目: '【三阶】新客',
    项目权重: '10%',
    序号: '18',
    细则: '新客（引流）数量',
    细则权重: '7%',
  },
  {
    项目: '',
    项目权重: '',
    序号: '19',
    细则: '新客（引流）运营能力',
    细则权重: '3%',
  },
  {
    项目: '【三阶】合规性',
    项目权重: '3%',
    序号: '20',
    细则: '迎检材料、演练',
    细则权重: '3%',
  },
];

const MarkList = Marks.reduce((acc, mark, index) => {
  const { 项目, 序号, 细则, 细则权重, ...rest } = mark;
  const 评分 = [{ 细则: 细则.trim(), 细则权重: 细则权重.trim(), 序号: Number.parseInt(序号) }];

  if (项目) {
    acc.push({
      ...rest,
      项目,
      评分,
    });
  } else if (acc.length > 0) {
    acc[acc.length - 1].评分.push(...评分);
  }

  return acc;
}, []);

const MarkRows = [];
MarkList.forEach(item => {
  item.评分.forEach(score => {
    MarkRows.push({
      项目: item.项目,
      项目权重: item.项目权重,
      ...score,
    });
  });
});

export default MarkRows;
